#include <algorithm>
#include <cstdio>
using namespace std;

int main() {
  int a[5];  // 这个数组记录了四个学生各自的排名。

  // 为了枚举所有可能的排名，先初始化为全排列的第一种情况。
  // 方便后面用 next_permutation() 来枚举全排列。
  for (int i = 0; i <= 4; i++) {
    a[i] = i;
  }
  do {
    // 对每个老师所说的条件进行逐一测试。
    int c1 = (a[1] == 1) xor (a[2] == 3);
    int c2 = (a[3] == 1) xor (a[4] == 4);
    int c3 = (a[4] == 2) xor (a[1] == 3);
    if (c1 == 1 and c2 == 1 and c3 == 1) {
      // 满足条件：每个人都说对了一半。
      printf("Solution:\n");
      // 输出符合要求的排名。
      for (int i = 1; i <= 4; ++i) {
        printf("%c: %d\n", 'A' + i - 1, a[i]);
      }
    }
  } while (next_permutation(a + 1, a + 5));

  return 0;
}